package com.ruoyi.back.domain.vo

import com.ruoyi.common.core.page.PageDomain
import io.swagger.annotations.ApiModel
import io.swagger.annotations.ApiModelProperty
import java.util.*

@ApiModel("用户换脸详情参数")
data class UserChangeFaceDetailVo(

    @ApiModelProperty("用户ID")
    var userId: String? = null,

    @ApiModelProperty("用户名")
    var username: String? = null,

    @ApiModelProperty("视频换脸次数")
    var videoFaceNum: Long? = 0,

    @ApiModelProperty("视频换脸次数")
    var picFaceNum: Long? = 0,

    @ApiModelProperty("总点数")
    var totalPointNum: Int? = 0,

    @ApiModelProperty("使用点数")
    var userPointNum: Int? = 0,

    @ApiModelProperty("剩余换脸点数")
    var retainPointNum: Int? = 0,

    @ApiModelProperty("总换脸时长")
    var totalChangeFaceTime: Long? = 0,
)

@ApiModel("资源搜索参数")
data class ResourceSearchDto(

    @ApiModelProperty("用户id")
    var userId: Long? = null,

    @ApiModelProperty("1. 全部 2.视频 3.图片")
    var param: Int? = 1,

    @ApiModelProperty("换脸结果 -> true:换脸成功 false:换脸失败 默认空")
    var changeFaceResult: Boolean? = null,

    @ApiModelProperty("是否删除 -> true:已删除 false:未删除 默认空")
    var deleteTag: Boolean? = null,

    @ApiModelProperty("是否单次 -> true:是 false: 不是 默认空")
    var single: Boolean? = null,

    @ApiModelProperty(hidden = true)
    var pageDomain: PageDomain? = null
)

@ApiModel("资源信息分组")
data class ResourceInfos(

    @ApiModelProperty("时间")
    var time: String? = null,

    @ApiModelProperty("资源信息")
    var resourceInfo: List<ResourceInfo>? = null,
)


@ApiModel("资源信息")
data class ResourceInfo(

    @ApiModelProperty("用户记录id")
    var recordId: Long? = null,

    @ApiModelProperty("request id 为空则不展示")
    var requestId: String? = null,

    @ApiModelProperty("换脸状态 1.进行中 2.换脸成功 3.换脸失败")
    var status: Int? = 1,

    @ApiModelProperty("上传时间")
    var uploadTime: String? = "--",

    @ApiModelProperty("完成时间")
    var completeTime: String? = "--",

    @ApiModelProperty("换脸耗时")
    var useTime: String? = "--",

    @ApiModelProperty("换脸接口")
    var useApi: String? = "--",

    @ApiModelProperty("消耗点数")
    var usePoint: Int? = 0,

    @ApiModelProperty("0:未删除 1.已删除")
    var deleteTag: Int? = 0,

    @ApiModelProperty("删除时间 (假如返回null不显示该字段)")
    var deleteTime: String? = null,

    @ApiModelProperty("失败原因 (假如返回null不显示该字段)")
    var failReason: String? = null,

    @ApiModelProperty("资源链接")
    var url: String? = null,

    @ApiModelProperty("1.视频 2.图片")
    var type: Int? = null,

    @ApiModelProperty("是否单次收费")
    var single: Boolean? = false,

    @ApiModelProperty("分组时间")
    var time: String? = null,
)

